const fs = require('fs');
const express = require('express');
const morgan = require('morgan');


// 1.创建express的服务器Lab9 Express的初步使⽤
const app = express();
// 创建⼀个WriteStream，⽤于将⽇志数据写⼊⽂件
const writeStream = fs.createWriteStream('./logs/access.log', { flags: 'a' });
// 使⽤morgan将请求⽇志记录到指定⽂件中
app.use(morgan('combined', { stream: writeStream }));

// app.use(express.json());
// app.use(express.urlencoded({ extended: true }));
 
// 使⽤ Express 内置的 JSON 中间件解析 JSON 数据
// app.use(express.json());
// 注册两个实际请求的中间件
// 案例⼀ : ⽤户登录的请求处理 /login post => username/password
app.post('/login', (req, res, next) => {
 // 通过Express内置的中间件，req.body已经拥有解析后的JSO数据
 const { username, password } = req.body;
  console.log(req.body);
  if (username === 'testUser' &&  password === '123456') {
    res.end('登录成功, 欢迎回来~');
  }
  else {
  res.end('登录失败, 请检测账号和密码是否正确~');
  }
});

app.listen(9001, () => {
  console.log('Express服务器启动成功~');
  });

// 案例⼆ : 注册⽤户的请求处理 /register post => username/password
// app.post('/register', (req, res, next) => {
//     const { username } = req.body;
//     console.log(req.body);
//     // 模拟现有⽤户查询逻辑
//    const existingUsers = ['existinguser'];
//     if (existingUsers.includes(username)) {
//     res.end('注册失败, 您输⼊的⽤户名被注册~');
//     } else {
//     res.end('注册成功, 开始你的旅程~');
//     }
//     });